﻿using UnityEngine;
using UnityEngine.UI;
using System.Collections;

namespace TowerDefence
{
    public class LevelSelector : MonoBehaviour
    {
        public SceneFader fader; // 场景淡入淡出控制器

        public Button[] levelButtons; // 关卡按钮数组
        public Sprite inactive; // 未激活状态的精灵

        private void Start()
        {
            if (fader == null)
                fader = FindObjectOfType<SceneFader>(); // 获取场景淡入淡出控制器

            for (int i = 0; i < levelButtons.Length; i++)
            {
                if (PlayerDataManager._levelsUnlocked - 2 >= i)
                {
                    // 如果解锁的关卡数大于等于当前循环索引
                    LevelStarProgress star = levelButtons[i].GetComponentInChildren<LevelStarProgress>();
                    star.Init(PlayerDataManager.starScoresPerLevel[i]); // 初始化关卡星级进度
                }
                if (i + 1 > PlayerDataManager._levelsUnlocked)
                {
                    // 如果索引加1大于玩家已解锁的关卡数
                    levelButtons[i].interactable = false; // 设置按钮为不可交互状态
                    levelButtons[i].image.sprite = inactive; // 设置按钮图像为未激活状态的精灵
                }
            }
        }

        public void Select(string levelName)
        {
            fader.FadeTo(levelName); // 切换到指定关卡
        }

    }
}
